1. Field of the Invention
The present invention relates to a correction table creation method of head position control for a disk device which controls the position of a head to a rotating disk, for performing reading and/or writing information from/to the disk, and the head position control method, and the disk device thereof, and more particularly to a correction table creation method of head position control for correcting the rotation synchronization component of the disk and position signal, and the head position control method and the disk device thereof.
2. Description of the Related Art
Disk storage devices for recording to and regenerating data from a rotating disk medium are widely used as storage devices for data. A disk device includes a disk for storing data, a spindle motor for rotating the disk, a head for recording/regenerating information to/from the disk, and an actuator for moving the head to a target position. Typical examples are magnetic disk devices (HDD: hard disk drive) and optical disk devices (DVD-ROM, MO).
In a magnetic disk device, a plurality of position signals for detecting the position of the head are recorded in an arc with respect to the rotation center on the disk, and form a track. A position signal includes a servo mark, track number (graycode) and offset information. The current position of the head can be obtained by the track number and the offset information.
The difference between this position information and the target position is determined, calculation is performed according to the displacement amount, and drive signals for driving the actuator, such as current for VCM (Voice Coil Motor) and voltage for an electro-strictive actuator, are supplied.
The position signal (servo signal) on the disk is either recorded by the disk device itself, which is the STW (Servo Track Write) method, or recorded by an external STW device. The STW method for recording the position signals by the disk device itself includes push-pin STW, self-servo writing and rewrite STW. The method for recording by an external STW device includes a method for recording on a disk, magnetic transfer and discrete media.
In order to accurately record and regenerate data it is necessary to position the head to the position demodulated from the position signal. The position signal, however, includes noise, which deteriorates the positioning accuracy. This noise has a component synchronizing rotation of the spindle motor, and a component not synchronizing rotation. The component synchronizing rotation can be measured and corrected, and can be suppressed to zero if fully measurement time is allowed. For the component not synchronizing with rotation, on the other hand, measurement and correction are difficult. Various methods have been proposed to measure and correct the component synchronizing the rotation.
There are two causes that generate the component synchronizing rotation of the spindle motor in the position signals in a status where vibration is not received from the outside. The first cause is that the servo signals are not accurately recorded concentrically during STW. As long as the servo signals are mechanically recorded, mechanical, electrical and magnetic noises during recording are unavoidable. Therefore to accurately record the servo signals concentrically during STW is extremely difficult.
The second cause if that distortion occurs to the disk and spindle motor after STW. Microscopically, the position signals are not aligned concentrically with respect to the center of rotation of the spindle motor. The track width of current disk drives is around 200 nm, so the influence, even of a slight distortion on positioning accuracy, is extremely large.
The component of fluctuation of the position signals that synchronizes rotation is called “eccentricity” or RRO (Repeatable RunOut), and the component of a one-time rotation frequency is called “primary”, and a two-time rotation frequency is called “secondary”. If RRO occurs, the positioning accuracy of the head deteriorates, which causes problems with reading and regenerating data. For example, if the position accuracy is poor, when data is recorded on a track, a part of the previously recorded data on the adjacent tracks is overwritten. To prevent such a status, RRO must be controlled in positioning control.
The conventionally available methods of controlling RRO are a method of controlling the actuator to not follow-up RRO but to ignore it, as shown in FIG. 38, and a control method of controlling the actuator to follow-up RRO, as shown in FIG. 40.
FIG. 38 and FIG. 40 show block diagrams of the head position control system, where as a disturbance to be applied to the control system, the components synchronizing rotation of the spindle motor and the components not synchronizing rotation are indicated as RRO, NRRO, RPE and NRPE. RRO (Repeatable RunOut) is a component of positional disturbance synchronizing rotation. NRRO (Non-Repeatable RunOut) is a component of positional disturbance not synchronizing rotation. RPE (Repeatable Position Error) is a component synchronizing rotation included in the position error ‘e’ when positioning control is performed. And NRPE (Non-Repeatable Position Error) is a component not synchronizing rotation included in the position error ‘e’ when positioning control is performed. The RRO and RPE, which are components synchronizing rotation, indicate different values at each sample of the servo.
To perform positioning control, it is necessary to know RRO, RPE, and RPE+RRO, and to minimize all these three values. RRO indicates the distortion of the track on the disk. Here the difference from RRO of the adjacent track is critical. This difference value indicates the fluctuation of the track width. As the fluctuation width of the difference value becomes wider, the fluctuation of the track space increases, in other words, areas where the track width is narrower are generated. When vibration is applied from the outside and the position accuracy deteriorates, this RRO determines the width where an overwrite on the recording area of the data of the adjacent track occurs. In other words, suppressing RRO contributes to improving resistance to external vibration.
RPE indicates the displacement from the positioning target. If control is being performed only to follow-up RRO, RPE indicates a deviation from RRO. In ordinary positioning control, RPE is the management target. For example, if RPE is contained in a plus/minus 15% range from the track width, or if this status continues for a predetermined number of samples, data recording is enabled, or it is judged whether seek control completed (settlement completed). In other words, suppressing RPE contributes to shorten the seek response time.
(RPE+RRO) indicates a locus of an actuator in a status where no vibration is applied from the outside. That is, this indicates a data recording position when vibration from the outside is zero. As this shows, suppressing (RPE+RRO) contributes to improving the positioning accuracy and the error rate of recording/regenerating data in ordinary operating status where external vibration is low.
In FIG. 38 and FIG. 40, the actual position ‘y’ and the position error ‘e’ can be expressed by the following relational Expression (1), using the target position r, RRO, NRRO, the transfer function of the control system C(z), and the transfer function of the plant (actuator in the case of the magnetic disk device) P(z).
                              y          =                                                                                          C                    ⁡                                          (                      z                      )                                                        ·                                      P                    ⁡                                          (                      z                      )                                                                                        1                  +                                                            C                      ⁡                                              (                        z                        )                                                              ·                                          P                      ⁡                                              (                        z                        )                                                                                                        ⁢              r                        +                                          1                                  1                  +                                                            C                      ⁡                                              (                        z                        )                                                              ·                                          P                      ⁡                                              (                        z                        )                                                                                                        ⁢              RRO                        +                                          1                                  1                  +                                                            C                      ⁡                                              (                        z                        )                                                              ·                                          P                      ⁡                                              (                        z                        )                                                                                                        ⁢              NRRO                                      ⁢                                  ⁢                                  ⁢                  e          =                      y            -            r                                              (        1        )            
Now the status during track follow-up, when the target position ‘r’ is always the same and no vibration is applied from the outside, will be considered. The term of the target position ‘r’ at the right hand side in the expression for ‘y’, shown in Expression (1), is a constant value, and is equal to the input (target position) ‘r’. Therefore Expression (2) of the position error ‘e’ in the track follow-up status is obtained.
                    e        =                                            1                              1                +                                                      C                    ⁡                                          (                      z                      )                                                        ·                                      P                    ⁡                                          (                      z                      )                                                                                            ⁢            RRO                    +                                    1                              1                +                                                      C                    ⁡                                          (                      z                      )                                                        ·                                      P                    ⁡                                          (                      z                      )                                                                                            ⁢            NRRO                                              (        2        )            
“e” in this status is also the sum of RPE and NRPE. Therefore RRO and NRRO, and RPE and NRPE, are expressed in the following Expression (3). In these expressions, 1/(1+C(z)·P(z)) is generally called the “sensitivity function”.
                              RPE          =                                    1                              1                +                                                      C                    ⁡                                          (                      z                      )                                                        ·                                      P                    ⁡                                          (                      z                      )                                                                                            ⁢            RRO                          ⁢                                  ⁢                  NRPE          =                                    1                              1                +                                                      C                    ⁡                                          (                      z                      )                                                        ·                                      P                    ⁡                                          (                      z                      )                                                                                            ⁢            NRRO                                              (        3        )            
In this way there is a characteristic difference for the amount of the sensitivity function between RPE and RRO. In other words, there is a difference depending on the frequency. This means that even if RRO can be suppressed, the same suppression rate cannot always be implemented for RPE. And even if RRO can be suppressed 50%, RPE may be suppressed only 20%. The difference in frequency characteristics must be considered.
There are two types of methods to suppress RRO, that is one method for the actuator not to follow-up RRO, as shown in FIG. 38, and another method for the actuator to follow-up RRO, as shown in FIG. 40. Both of these methods have actually been applied to disk drives. A method of using both of these methods is also in use. For example, the actuator follows up RRO in the low frequency area and does not follow-up RRO in the high frequency area.
FIG. 38 shows the method for the actuator not to follow-up RRO. A correction table 100 for storing values, called an “RroTable” is created in advance. And when the positioning control of the disk device is performed, the RroTable value of the correction table 100 is removed from the position error ‘e’, and the result is used for the controller C(z). In other words, the controller C(z) calculates the control amount from the position error from which RRO is removed. These RroTable values may be different depending on the head, track, read position or write position, or may be the same for each head or each zone formed by a plurality of tracks.
One of the RroTable generation methods that has been proposed is a method of determining RRO by computing the observing position. An example of this computing method is using a discrete Fourier transform (DFT) (e.g. Japanese Patent Application Laid-Open No. 11-126444).
As FIG. 38 shows, the positional locus, that is the RroTable of the correction table 100, is generated from the position error ‘e’, and RPE included in ‘e’ is removed. The position error ‘e’ at this time is expressed by the following Expression (4). According to Expression (4), the actuator operates not to follow-up RRO.
                                                        E              =                            ⁢                                                1                                      1                    +                                                                  C                        ⁡                                                  (                          z                          )                                                                    ·                                              P                        ⁡                                                  (                          z                          )                                                                                                                    ⁢                                  (                                      RRO                    +                    NRRO                    -                    RroTable                                    )                                                                                                        =                            ⁢                              RPE                +                NRPE                -                                                      1                                          1                      +                                                                        C                          ⁡                                                      (                            z                            )                                                                          ·                                                  P                          ⁡                                                      (                            z                            )                                                                                                                                ⁢                  RroTable                                                                                        (        4        )            
Therefore to remove RPE from the position error ‘e’, an RroTable is generated so as to satisfy the following Expression (5).RroTable=(1+C(z)·P(z))RPE  (5)
In other words, as FIG. 38 shows, RPE is acquired from the position error ‘e’ by the acquisition block 110, and the RroTable value is determined from the acquired RPE through the reverse characteristics of the sensitivity function by the RRO calculation block 112. To determine the average value of a plurality of rotations of the disk, the addition block 114 adds the RroTable value of each rotation of the disk. FIG. 39 is an example of the frequency characteristic of the reverse characteristics of the sensitivity function, where the characteristics of gain and phase with respect to frequency are different.
In the case of the method for the actuator to follow-up RRO, on the other hand, a correction table 118 for storing a value of URroTable is created in advance, as shown in FIG. 40. And during the positioning control of the disk device, the URroTable value of the correction table 118 is added when a drive signal is supplied from the control system C(z) to the plant P(z). This URroTable value as well may be different depending on the head, track and read position/write position, or may have a value for each head and for each zone which is comprised of a plurality of tracks. Each head may have URroTable values regardless the track.
For this URroTable generation method as well, some methods have been proposed, such as a method of computing the position error ‘e’ and determining a signal that follows up RRO. An example of this computation method is a method of using a discrete Fourier transform (e.g. see Japanese Patent Application Laid-open No. H11-126444).
As FIG. 40 shows, the URroTable value is generated from the position error ‘e’, and RPE included in ‘e’ is removed. As mentioned above, the actuator operates so as to follow-up RRO, and the position error ‘e’ satisfies the following relational Expression (6) in a track following status where external vibration is not applied.
                                                        e              =                            ⁢                                                                    1                                          1                      +                                                                        C                          ⁡                                                      (                            z                            )                                                                          ·                                                  P                          ⁡                                                      (                            z                            )                                                                                                                                ⁢                                      (                                          RRO                      +                      NRRO                                        )                                                  +                                                                            P                      ⁡                                              (                        z                        )                                                                                    1                      +                                                                        C                          ⁡                                                      (                            z                            )                                                                          ·                                                  P                          ⁡                                                      (                            z                            )                                                                                                                                ⁢                  URroTable                                                                                                        =                            ⁢                              RPE                +                NRPE                +                                                                            P                      ⁡                                              (                        z                        )                                                                                    1                      +                                                                        C                          ⁡                                                      (                            z                            )                                                                          ·                                                  P                          ⁡                                                      (                            z                            )                                                                                                                                ⁢                  URroTable                                                                                        (        6        )            
Therefore in order to remove RPE from the position error ‘e’, a URroTable value is generated so as to satisfy the following Expression (7). Expression (7) indicates that the URroTable value is determined from RPE through the transfer function that has a reverse characteristic of the sensitivity function and the reverse characteristic of the plant.
                    URroTable        =                              -                                          1                +                                                      C                    ⁡                                          (                      z                      )                                                        ·                                      P                    ⁡                                          (                      z                      )                                                                                                  P                ⁡                                  (                  z                  )                                                              ⁢          RPE                                    (        7        )            
In other words, as FIG. 40 shows, RPE is acquired from the position error ‘e’ by the acquisition block 110, and the URroTable value is determined from the acquired RPE through the reverse characteristic of the sensitivity function and the reverse characteristic of the plant by the URRO calculation block 112. If an average value of a plurality of rotations of the disk is determined, the URroTable value of each rotation of the disk is added by the addition block 116.
As described above, a method of determining the correction table RroTable or URroTable from the observed RPE is to convert by such a transfer function as (1+C(z)·P(z)) or −(1+C(z)·P(z))/P(z). For this conversion method, a method of determining the frequency characteristic between RPE and Pro or URRO in advance and using a discrete Fourier transform (DFT) is best to determine waveforms most accurately in a short time. Now this method will be described. First DFT is performed on the RPE waveform which was observed first. The number of servo sectors in one rotation is assumed to be Ns.
The RRO degree that must be considered in this case is 1 to (Nx/2−1) according to the sampling theorem. To perform DFT for the m degree of an RRO frequency when coefficients of m degree are expressed as C(m) and S(m), one rotation of RPE waveforms from sector No. 0 to No. (Ns−1) are multiplied by the m degree of a cosine waveform and a sin waveform, and the results are added. Expressions to calculate the coefficients C(m) and S(m) are shown in the following Expression (8).
                                          C            ⁡                          (              m              )                                =                                    ∑                              k                =                0                                                              N                  s                                -                1                                      ⁢                                          {                                                      RPE                    ⁡                                          (                      k                      )                                                        ·                                      cos                    ⁡                                          (                                              2                        ⁢                        π                        ⁢                                                                                                  ⁢                        m                        ⁢                                                                                                  ⁢                                                  k                          /                                                      N                            s                                                                                              )                                                                      }                            ⁢                              (                                  2                  /                                      N                    s                                                  )                                                    ⁢                                  ⁢                              S            ⁡                          (              m              )                                =                                    ∑                              k                =                0                                                              N                  s                                -                1                                      ⁢                                          {                                                      RPE                    ⁡                                          (                      k                      )                                                        ·                                      sin                    ⁡                                          (                                              2                        ⁢                        π                        ⁢                                                                                                  ⁢                        m                        ⁢                                                                                                  ⁢                                                  k                          /                                                      N                            s                                                                                              )                                                                      }                            ⁢                              (                                  2                  /                                      N                    s                                                  )                                                                        (        8        )            
Then in order to determine RRO or URRO, a transfer function is multiplied for each RRO degree. The complex number of the m degree of an RRO frequency of the frequency characteristics to be multiplied is determined in advance as a(m)+jb(m). Specifically, the complex number at the m degree of a frequency is determined from the transfer function shown by Expression (5) or Expression (7). By multiplying this characteristic, the m degree of a component can be expressed by Expression (9) as a complex number. In other words, C2(m) and S2(m) can be determined by C(m), S(m), a(m) and b(m)
                                                                                          C                  ⁢                                                                          ⁢                  2                  ⁢                                      (                    m                    )                                                  +                                  j                  ⁢                                                                          ⁢                  S                  ⁢                                                                          ⁢                  2                  ⁢                                      (                    m                    )                                                              =                            ⁢                                                (                                                            C                      ⁡                                              (                        m                        )                                                              +                                          j                      ⁢                                                                                          ⁢                                              S                        ⁡                                                  (                          m                          )                                                                                                      )                                ⁢                                  (                                                            a                      ⁡                                              (                        m                        )                                                              +                                          j                      ⁢                                                                                          ⁢                                              b                        ⁡                                                  (                          m                          )                                                                                                      )                                                                                                        =                            ⁢                                                (                                                                                    C                        ⁡                                                  (                          m                          )                                                                    ⁢                                              a                        ⁡                                                  (                          m                          )                                                                                      -                                                                  S                        ⁡                                                  (                          m                          )                                                                    ⁢                                              b                        ⁡                                                  (                          m                          )                                                                                                      )                                +                                                                                                      ⁢                              j                (                                                                            C                      ⁡                                              (                        m                        )                                                              ⁢                                          b                      ⁡                                              (                        m                        )                                                                              +                                                            S                      ⁡                                              (                        m                        )                                                              ⁢                                          a                      ⁡                                              (                        m                        )                                                                                                                                                    (        9        )            
Finally inverse DFT is performed to obtain the waveform to be determined. m degree of computation is performed from the first degree to the (Ns/2−1)th degree. When the RroTable is generated, the RRO waveform at the q-th sector, that is RRO(q) is determined by the following Expression (10) (the same expression is also used when a URroTable is generated).
                              RRO          ⁡                      (            q            )                          =                              ∑                          m              =              1                                                                        N                  s                                /                2                            -              1                                ⁢                      {                                          C                ⁢                                                                  ⁢                2                ⁢                                  (                  m                  )                                ⁢                                  cos                  ⁡                                      (                                          2                      ⁢                      π                      ⁢                                                                                          ⁢                                              mq                        /                                                  N                          s                                                                                      )                                                              +                              S                ⁢                                                                  ⁢                2                ⁢                                  (                  m                  )                                ⁢                                  sin                  ⁡                                      (                                          2                      ⁢                      π                      ⁢                                                                                          ⁢                      m                      ⁢                                                                                          ⁢                                              q                        /                                                  N                          s                                                                                      )                                                                        }                                              (        10        )            
Expression (10) need not be computed for all the RRO degrees. For example, in order to calculate RRO(q), which is a locus that follows up the 1-4th degree of RRO and does not follow up the 5th or higher degree of RRO, only the calculation for the 5th degree or higher is performed, without performing, that is ignoring calculation for the 1-4th degree, out of the above mentioned calculations.
In this way, in order to determine RRO or URRO, it is necessary to convert the time waveform RPE into frequency units by DFT in Expression (8), multiply by the transfer function on the frequency axis (reverse characteristic of sensitivity function) by Expression (9), and convert the multiplication result in frequency units in Expression (9) into time waveforms by inverse DFT of Expression (10).
Today track density is increasing and the further improvement of positioning accuracy is demanded along with demands for increases in storage capacity. In the conventional method of generating an RRO correction table, the RroTable or URrotable, of a disk device, Expressions (8), (9) and (10) must be calculated sequentially for each measurement track. Since this DFT and inverse DFT calculation include sine and cosine calculations, where processing to refer to the sine and cosine tables is included, this takes time, unlike a simple addition/subtraction and multiplication.
For example, Expressions (8), (9) and (10) are calculated with measuring one track rotation of data (RPE), but it is rare to use the MCU (Micro-Controller Unit), to be installed in a magnetic disk device of which the arithmetic processing speed is fast, to decrease cost. Therefore the measurement of the next rack must be waited until the calculation processing is over, which makes the RRO correction table creation time longer.
Also along with the recent improvements of track densities, sometimes it is necessary to acquire an RRO correction waveform and a URRO correction waveform by measuring them for each track. For example, in the case of a 2.5-inch magnetic disk, about 50,000 tracks are created on one side of the magnetic disk, because of the improvements of track densities. If the magnetic head being used is an MR head and a write induction head, where the read and write heads are separated, the positions of the heads are different between read and write, and two correction waveforms, one for reading and the other for writing, must be provided for one track. In other words, for one side of the magnetic disk, 100,000 tracks of measurement and calculation may be required. Also in the case of a device with two magnetic disks, that is four magnetic disk faces, 400,000 tracks of measurement and calculation are required.
As described above, the calculation amount for calculating RRO and URRO is large, the program size used for processing is also large, and load on the MCU is high. This makes the measurement time of the RPE required for satisfying the specifications of positioning accuracy, that is the time required for creating a correction table in the manufacturing steps, long, when correction values are measured in the manufacturing steps of a disk device, which is not appropriate for mass manufacturing of disk devices.